package com.net.framework.help.utils;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.StringTokenizer;

/**
 * @author zhangxiaobin
 * @email zhangxiaobin@yipintech.com
 * @date 创建时间：2016年2月3日 上午11:00:45
 * @version 1.1.0
 * @explain Map和String的相互转换
 */
public class MapStringTransitionUtil {
	/**
	 * 方法名称:transMapToString 传入参数:map 返回值:String
	 * 
	 */
	public static String transMapToString(Map map) {
		Entry entry;
		StringBuffer sb = new StringBuffer();
		for (Iterator iterator = map.entrySet().iterator(); iterator.hasNext();) {
			entry = (Entry) iterator.next();
			sb.append(entry.getKey().toString()).append("'").append(null == entry.getValue() ? "" : entry.getValue().toString()).append(iterator.hasNext() ? "^" : "");
		}
		return sb.toString();
	}

	/**
	 * 方法名称:transStringToMap 传入参数:mapString 返回值:Map
	 */
	public static Map transStringToMap(String mapString) {
		Map map = new HashMap();
		StringTokenizer items;
		for (StringTokenizer entrys = new StringTokenizer(mapString, "^"); entrys.hasMoreTokens(); map.put(items.nextToken(), items.hasMoreTokens() ? ((Object) (items.nextToken())) : null))
			items = new StringTokenizer(entrys.nextToken(), "'");
		return map;
	}
}
